// .txt

beginzonescript;

variables;

short crime_tolerance = 200;
short last_abil;
short i;
short ter1 = 0;
short ter2 = 0;
short presmes = 0;
short pres_level;
short old_level = 100;

body;

beginstate INIT_STATE;
	if (gf(2,3) < 2)
		sf(7,3,0);
	sf(6,14,0);
	if (gf(7,7) == 0)
		sf(7,13,0);
		
	set_name(23,"Green Spotted Fyora");
	set_level(23,4);
	set_boss_level(23,2);
		
	add_range_to_group(11,17,1);
	set_aggression(1001,8);
	
	add_range_to_group(24,31,2);

	add_range_to_group(32,38,3);
	add_range_to_group(39,45,4);
	if (gf(2,3) >= 2)
		erase_char(1003);
	if (gf(2,3) < 2)
		erase_char(1004);
		
	
	if (gf(7,9) > 0) {
		set_terrain(59,16,91);
		set_terrain(60,16,92);

		set_terrain(58,16,204);
		set_terrain(61,16,205);
		
		set_act_at_dist(1002,1);
		set_attitude(1002,10);
		}

	set_aggression(46,8);
	set_aggression(47,8);
	set_aggression(48,8);
	set_aggression(49,8);
	set_aggression(50,8);
	
	//if (get_sdf() > 0) {
		//make_zone_hostile();
		//}

	last_abil = get_current_tick();
	
	set_crime_tolerance(crime_tolerance);
	break;

beginstate EXIT_STATE;

break;

beginstate START_STATE;
	if ((ter1 == 0) && (gf(7,21) > 0)) {
		ter1 = 1;
		set_terrain(29,21,175);
		set_terrain(29,20,175);
		set_terrain(28,20,175);
		set_terrain(26,20,175);
		set_terrain(25,20,175);
		set_terrain(24,20,175);
		set_terrain(24,21,175);
		set_terrain(24,22,175);
		set_terrain(24,23,175);
		set_terrain(23,23,175);
		set_terrain(22,23,175);
		set_terrain(21,23,175);
		set_terrain(21,24,175);
		}
	if ((ter2 == 0) && (gf(7,15) > 0)) {
		ter2 = 1;
		set_terrain(3,13,175);
		set_terrain(4,13,175);
		set_terrain(5,13,175);
		set_terrain(6,13,175);
		set_terrain(6,14,175);
		set_terrain(6,15,175);
		set_terrain(6,16,175);
		set_terrain(6,17,175);
		set_terrain(6,18,175);
		set_terrain(7,20,175);
		set_terrain(8,20,175);
		set_terrain(9,20,175);
		}
	// clear zone?
	if ((zone_clear(ME) == FALSE) && (get_flag(7,7) > 0)) {
		print_str_color("Now that the Presence has been purged, this area is clear.",2);
		clear_zone(ME);	
		}
		
	//if ((get_crime_level() >= crime_tolerance) && (get_sdf(,) == 0)) {
	//	make_zone_hostile();
	//	set_flag(,,1);
	//	}

	//if (get_ran(1,0,100) < 10)
	//	give_char_text_bubble(,"");

	if (((is_combat()) && (tick_difference(last_abil,get_current_tick()) > 0)) || ((is_group()) && (tick_difference(last_abil,get_current_tick()) > 3))) {
		if ((is_group()) && (gf(7,7) == 0)) {
			if (presmes < 3) {
				presmes = presmes + 1;
				if (presmes == 3) {
					if (gf(2,3) == 2)
						begin_talk_mode(29);
						else begin_talk_mode(28);
					}
				}
				else if (gf(2,3) == 2) {
					pres_level = party_dist_to_nav(0) / 10;
					if (pres_level != old_level) {
						if (pres_level == 0)
							print_str_color("The scrying crystal is glowing very brightly.",3);
						if (pres_level == 1)
							print_str_color("The scrying crystal is glowing brightly.",3);
						if (pres_level == 2)
							print_str_color("The scrying crystal is glowing dimly.",3);
						if (pres_level > 2)
							print_str_color("The scrying crystal is glowing very faintly.",3);
							
						old_level = pres_level;
						}
					}
			}


		if (gf(6,14) > 0)
			inc_flag(6,14,-1);
			
		if ((gf(100,7) == 0) && (party_dist_to_nav(1) <= 5))
			print_str_color("You feel a powerful urge to touch the pool.",2);
			
		last_abil = get_current_tick();
		}

	// initial cutscene
	if ((get_flag(7,13) == 1) && (get_flag(7,14) < 4)) {
		move_to_loc(0,14,7);
		move_to_loc(1,15,6);
		move_to_loc(2,15,8);
		move_to_loc(3,16,7);
		move_to_loc(4,16,5);
		move_to_loc(5,16,9);
		move_to_loc(6,17,6);
		move_to_loc(7,17,8);
		shift_view_to_char(pc_num());

		if ((cutscene_can_proceed()) && (party_near_nav(0,5))) {
			inc_flag(7,14,1);
			if (gf(7,14) > 2)
				sf(7,20,0);
			}
		end();
		}
		else if (get_flag(7,14) == 4) { 
			sf(7,14,6);
			sf(7,13,2);
			sf(7,20,0);
			toggle_cutscene(0);
			set_attitude(53,10);
			begin_talk_mode(55);
			end();
			}

break;

beginstate 10;
	if ((gf(7,7) > 0) && (gf(7,16) == 0))
		begin_talk_mode(110);
break;

//	print_str("");
//	set_terrain_string_range(".",3);
//	set_terrain_string_range("The sign says - .",3);
